<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 箭头函数；
        // 1.只能改写 赋值式的函数 ；
        // function test(){

        // }
        // es5:
        // let test = function(){
        //     console.log("test");
        // }

        // ES6 箭头函数 
        // let test = ()=>{
        //     console.log("test")
        // }

        // test();

        // 2.如果箭头函数的参数只有一个 那么 小括号可以省略
        // let fn = function(a){
        //     console.log("fn",a);
        // }

        // let fn = a=>{
        //     console.log("fn",a);
        // }
        // fn(1);

        // 3.箭头函数如果没有大括号 会隐式返还；
        // let fn = function(a){
        //     return a;
        // }

        // let fn = a=>{
        //     return a;
        // }
        // console.log(fn(2));
        // let fn = a=>a;
        // console.log(fn(3));

        // 4.箭头函数没有隐藏参数；
        // let fn = function(){
        //     console.log(arguments);
        // }
        // fn(1,2,3);

        // let fn = (...args)=>{
        //     // console.log(arguments);
        //     console.log(args);
        // }

        // fn(1,2,3);

        // 5.箭头函数 没有自定的this绑定；他的this绑定是上层的this；
        // let fn = ()=>{
        //     console.log(this);
        // }
        // // fn();
        // var obj = {
        //     name:"张三",
        //     // fn:fn,
        //     fn:()=>{
        //         console.log(this)
        //     },
        //     fn1:function(){
        //         console.log(this);
        //     }
        // }
        // obj.fn();
        // obj.fn1();


        // document.onclick = ()=>{
        //     // console.log(this);
        //     setTimeout(()=>{
        //             console.log(this);
        //     }, 1000);
        // }


        var arr = [
            {
                name: "张三",
                age: 20,
                gender: "男"

            }, {
                name: "李四",
                age: 21,
                gender: "女"

            },
            {
                name: "王五",
                age: 24,
                gender: "男"

            },
            {
                name: "王小二",
                age: 26,
                gender: "男"
            }
        ]

        // 筛选  所有男的 筛选年龄大于22岁的人；
        var res = arr.filter(function (item) {
            return item.gender == "男";
        }).filter(function (item) {
            return item.age > 22;
        })
        console.log(res);

        // 改成成箭头函数；

        // 1.复习 2.深层次解析  3.正则 
                            // 1.姓名 ： 必须是中文且 2-4位；
                            // 2.qq号 ： 开头 1-9 中间 0-9   5-11 的数字；
                            // 3.身份证号： 总位数 18位数字  最后一位可以是X
                            // 4.手机号 ： 1开头  中间的数字（3456789） 总位数是11位；
                            // 5.邮箱 ： 数字字母下划线 @ 数字字符下划线 （可以是3个字符（.com），也可以是 5个字符(.com.cn)）
        // 4.预习；
    </script>
</body>

</html>